package o2o.dao.VO.user;

import lombok.Data;
import lombok.experimental.Accessors;
import o2o.dao.PO.user.UserInfoExtra;
import o2o.dao.PO.wallet.UserWallet;
import o2o.dao.VO.postman.CityPostmanVO;
import o2o.dao.VO.shop.ShopInfoVO;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

/**
 * 类名称：UserInfo
 * 类描述：   用户信息bean
 * 创建人：Jahnke 1029777564@qq.com
 * 创建时间：2016年8月26日 上午11:05:35
 * 修改备注：
 */
@Data
@Accessors(chain = true)
public class UserInfoVO implements Serializable {
    private Long id; // 标识
    private String token;//
    private Integer userType; // 用户类型:1店主;2用户;3管理员
    private Integer userRole; // 用户的角色 0 无 1 << 0 分销商
    private String username; // 帐号
    private String name; // 姓名
    private String uuid; // 用户唯一编码UUID
    private String wxOpenId;//用户的微信openId
    private String wxOpenId2;//用户的微信openId
    private String wxXcxOpenId;//用户的微信小程序openId
    private String wxXcxOpenId2;//用户的微信小程序openId
    private String wxGzhOpenId; // 公众号的openid
    private String wxGzhOpenId2; // 公众号的openid
    private String triId; // 第三方平台的id（如一乙里的id）
    private String signPhoto; // 用户头像
    private String signature; // 个性签名
    private String phone;     // 用户登录的账号
    private String telPhone; // 手机号
    private String phone2; // 其他手机号
    private String sex; // 性别（男/女）
    private String province; // 所在省份
    private String city; // 所在市区
    private String county; // 所在区县
    private String address; // 详细地址
    private String idCardNumber; // 身份证号
    private String idCardName; // 身份证姓名
    private String email; // 邮箱
    private String note; //备注
    private Long vipExpireTime;     // vip 到期时间
    private Long createTime; // 创建日期
    private Integer isLock; // 是否锁定状态
    private Integer finishOrderCount; // 下单数量
    private Double finishOrderTotalMoney; //
    private Integer companyUserState = 0; // 0 表示未选择 1. 普通用户  2 申请企业用户中 9 申请企业用户通过 -1 申请企业用户未通过
    private String hxAccount; // 环信帐号
    private String hxPassword; // 环信密码

    private Long lastOnlineTime;    //

    private Integer isCert; // 是否已实名认证 -1 未认证, 0 认证中, 1 认证通过, 2 认证不通过

    private Integer hasPayPassword = 0; // 是否有支付密码 0 ：没有 1有


    private UserWallet userWallet;//用户账户情况
    private CityPostmanVO postmanInfo;//如果是配送员则返回配送员信息

    private UserInfoExtra userInfoExtra;//如果是配送员则返回配送员信息

    private List<UserAddressVO> userAddress;//用户收货地址
    private List<ShopInfoVO> shop;//店铺列表
    private Set<Integer> userRoles;//店铺列表

//    public Long getId() {
//        return id;
//    }
//
//    public void setId(Long id) {
//        this.id = id;
//    }
//
//    public Integer getUserType() {
//        return userType;
//    }
//
//    public void setUserType(Integer userType) {
//        this.userType = userType;
//    }
//
//    public String getUsername() {
//        return username;
//    }
//
//    public void setUsername(String username) {
//        this.username = username;
//    }
//
//    public String getName() {
//        return name;
//    }
//
//    public void setName(String name) {
//        this.name = name;
//    }
//
//    public String getSignPhoto() {
//        return signPhoto;
//    }
//
//    public void setSignPhoto(String signPhoto) {
//        this.signPhoto = signPhoto;
//    }
//
//    public String getSignature() {
//        return signature;
//    }
//
//    public void setSignature(String signature) {
//        this.signature = signature;
//    }
//
//    public String getTelPhone() {
//        return telPhone;
//    }
//
//    public void setTelPhone(String telPhone) {
//        this.telPhone = telPhone;
//    }
//
//    public String getPhone2() {
//        return phone2;
//    }
//
//    public void setPhone2(String phone2) {
//        this.phone2 = phone2;
//    }
//
//    public String getSex() {
//        return sex;
//    }
//
//    public void setSex(String sex) {
//        this.sex = sex;
//    }
//
//    public String getProvince() {
//        return province;
//    }
//
//    public void setProvince(String province) {
//        this.province = province;
//    }
//
//    public String getCity() {
//        return city;
//    }
//
//    public void setCity(String city) {
//        this.city = city;
//    }
//
//    public String getCounty() {
//        return county;
//    }
//
//    public void setCounty(String county) {
//        this.county = county;
//    }
//
//    public String getAddress() {
//        return address;
//    }
//
//    public void setAddress(String address) {
//        this.address = address;
//    }
//
//    public String getNote() {
//        return note;
//    }
//
//    public void setNote(String note) {
//        this.note = note;
//    }
//
//
//    private static final long serialVersionUID = 1L;
//
//    public String getToken() {
//        return token;
//    }
//
//    public void setToken(String token) {
//        this.token = token;
//    }
//
//    public List<ShopInfoVO> getShop() {
//        return shop;
//    }
//
//    public void setShop(List<ShopInfoVO> shop) {
//        this.shop = shop;
//    }
//
//    public String getWxOpenId() {
//        return wxOpenId;
//    }
//
//    public void setWxOpenId(String wxOpenId) {
//        this.wxOpenId = wxOpenId;
//    }
//
//    public UserWallet getUserWallet() {
//        return userWallet;
//    }
//
//    public void setUserWallet(UserWallet userWallet) {
//        this.userWallet = userWallet;
//    }
//
//    public CityPostmanVO getPostmanInfo() {
//        return postmanInfo;
//    }
//
//    public void setPostmanInfo(CityPostmanVO postmanInfo) {
//        this.postmanInfo = postmanInfo;
//    }
//
//    public String getWxXcxOpenId() {
//        return wxXcxOpenId;
//    }
//
//    public void setWxXcxOpenId(String wxXcxOpenId) {
//        this.wxXcxOpenId = wxXcxOpenId;
//    }
//
//    public Long getCreateTime() {
//        return createTime;
//    }
//
//    public void setCreateTime(Long createTime) {
//        this.createTime = createTime;
//    }
//
//    public UserInfoExtra getUserInfoExtra() {
//        return userInfoExtra;
//    }
//
//    public void setUserInfoExtra(UserInfoExtra userInfoExtra) {
//        this.userInfoExtra = userInfoExtra;
//    }
//
//    public String getHxAccount() {
//        return hxAccount;
//    }
//
//    public void setHxAccount(String hxAccount) {
//        this.hxAccount = hxAccount;
//    }
//
//    public String getHxPassword() {
//        return hxPassword;
//    }
//
//    public void setHxPassword(String hxPassword) {
//        this.hxPassword = hxPassword;
//    }
//
//    public Integer getIsLock() {
//        return isLock;
//    }
//
//    public void setIsLock(Integer isLock) {
//        this.isLock = isLock;
//    }
//
//    public Integer getIsCert() {
//        return isCert;
//    }
//
//    public void setIsCert(Integer isCert) {
//        this.isCert = isCert;
//    }
//
//    public String getUuid() {
//        return uuid;
//    }
//
//    public void setUuid(String uuid) {
//        this.uuid = uuid;
//    }
//
//    public String getIdCardNumber() {
//        return idCardNumber;
//    }
//
//    public void setIdCardNumber(String idCardNumber) {
//        this.idCardNumber = idCardNumber;
//    }
//
//    public String getIdCardName() {
//        return idCardName;
//    }
//
//    public void setIdCardName(String idCardName) {
//        this.idCardName = idCardName;
//    }
//
//    public String getWxGzhOpenId() {
//        return wxGzhOpenId;
//    }
//
//    public void setWxGzhOpenId(String wxGzhOpenId) {
//        this.wxGzhOpenId = wxGzhOpenId;
//    }
//
//    public Integer getFinishOrderCount() {
//        return finishOrderCount;
//    }
//
//    public UserInfoVO setFinishOrderCount(Integer finishOrderCount) {
//        this.finishOrderCount = finishOrderCount;
//        return this;
//    }
//
//    public Double getFinishOrderTotalMoney() {
//        return finishOrderTotalMoney;
//    }
//
//    public UserInfoVO setFinishOrderTotalMoney(Double finishOrderTotalMoney) {
//        this.finishOrderTotalMoney = finishOrderTotalMoney;
//        return this;
//    }
//
//    public Integer getHasPayPassword() {
//        return hasPayPassword;
//    }
//
//    public void setHasPayPassword(Integer hasPayPassword) {
//        this.hasPayPassword = hasPayPassword;
//    }
//
//    public List<UserAddressVO> getUserAddress() {
//        return userAddress;
//    }
//
//    public void setUserAddress(List<UserAddressVO> userAddress) {
//        this.userAddress = userAddress;
//    }
//
//    public String getPhone() {
//        return phone;
//    }
//
//    public void setPhone(String phone) {
//        this.phone = phone;
//    }

}
